In computer science, program analysis is the process of automatically analysing the behavior of computer programs. Two main approaches in program analysis are static program analysis and dynamic program analysis. Main applications of program analysis are program correctness and program optimization.
Techniques related to program analysis include:
A technique that is applied for certain kinds of program analysis is program slicing.
Related fields include performance analysis and program verification.